Typesetting {\tenbxsl APL\/} Symbols

If using a few APL symbols in an ordinary document is all you need, you can forget about the APL front end. Simply adding the option apl to your preferred LATEX document style (e.g. \documentstyle[12pt,apl]{article}) enables you to state in your paper, e.g.:

By combining the simple APL symbols and we obtain the compound symbol .
The code to produce this statement is:
\begin{quotation}
By combining the simple \APL\ symbols
\APLcircle\ and \APLstar\ we obtain the
compound symbol \APLcirclestar.
\end{quotation}

In fact, you can typeset all simple and compound symbols of APL2, as we have defined macros for all of them. Tables [*] and [*], respectively, show them together with their macro names.


Table: Simple APL2 Symbols
\APLalpha \APLnotgreater
\APLbar \APLnotless
\APLcircle \APLomega
\APLcolon \APLoverbar
\APLcomma \APLplus
\APLdel \APLquad
\APLdelta \APLquery
\APLdieresis \APLquote
\APLdivide \APLrho
\APLdot \APLrightarrow
\APLdownarrow \APLrightbracket
\APLdowncaret \APLrightparen
\APLdownshoe \APLrightshoe
\APLdownstile \APLsemicolon
\APLdowntack \APLslash
\APLepsilon \APLslope
\APLequal \APLstar
\APLgreater \APLstile
\APLiota \APLtilde
\APLjot \APLtimes
\APLleftarrow \APLunderbar
\APLleftbracket \APLuparrow
\APLleftparen \APLupcaret
\APLleftshoe \APLupshoe
\APLless \APLupstile
\APLmathbar \APLuptack
\APLnotequal



Table: Compound APL2 Symbols
\APLcirclebar
\APLcircleslope
\APLcirclestar
\APLcirclestile
\APLdelstile
\APLdeltastile
\APLdeltaunderbar
\APLdeltilde
\APLdieresisdot
\APLdowncarettilde
\APLdowntackjot
\APLdowntackuptack
\APLepsilonunderbar
\APLequalunderbar
\APLiotaunderbar
\APLleftbracketrightbracket
\APLquaddivide
\APLquadjot
\APLquadquote
\APLquadslope
\APLquotedot
\APLslashbar
\APLslopebar
\APLupcarettilde
\APLupshoejot
\APLuptackjot


IBM was the first company to implement APL  but it did not remain the only one. Companies such as I. P. Sharp and Dyadic Systems have produced their own versions of the language. These and other companies, however, introduced only a few symbols not found in APL2. We have added twenty additional symbols to the APL2 character set to support typesetting Dyalog APL, I–APL, Sharp APL, and APL.68000 (see Table [*]).


Table: Symbols Used in APL Dialects
\APLOUT
\APLasciipound
\APLbarcomma
\APLcaret
\APLdiamond
\APLdieresiscircle
\APLdieresisdel
\APLdieresisjot
\APLdieresisstar
\APLdieresistilde
\APLdieresisuptack
\APLlefttack
\APLnotequalunderbar
\APLquaddownarrow
\APLquadleftarrow
\APLquadrightarrow
\APLquaduparrow
\APLrighttack
\APLstilebar
\APLtheta


As you have probably guessed from the names in Tables [*], [*], and [*] we stick to a naming convention in order to minimize name clashes with other macro packages and also help users remembering the macro names. All macro names start with the \APL prefix, followed by the name of the symbol used in the APL literature. The symbol names for APL2 characters are taken from [IBM 85]. For those characters (cf. Table [*]) which are not included in the IBM list we have invented consistent names. We always use symbol names, not the name of APL functions these symbols might represent. The name of a compound APL symbol is the concatenation of the names of the simple APL symbols it is created from.

Figure: The Atomic Vector of APL2

\begin{APLarray}
\leavevmode\hbox to 1.2em{\hss{\tiny0}\hss}\leavevmode\hbox to ...
...\hss}\leavevmode\hbox to 1.2em{\hss{\tiny 255}\hss}
\APLspace\par
\end{APLarray}

As can be seen in Figure [*] which shows the character set (the atomic vector ) of APL2, not all APL characters are fancy symbols, and the language uses ordinary alphanumeric characters as well. To allow for a clean interface between the APL front end and the LATEX part of our system, we decided to define macros for these characters as well. Their names are constructed as follows:

The tiny numbers in the atomic vector of Figure [*] correspond to positions for which no printable characters are defined by APL2. In case the APL front end encounters a nonprintable character, e.g. the one at position 20 in , it generates \APLmiss{20}. The definition of the LATEX macro \APLmiss determines the printed representation of this character (the default macro in our style just prints the corresponding number in style \tiny).

Let us close this section with one more example of typesetting APL symbols:

\APLquaddivide\APLA\ corresponds to
$A^{-1}$ in mathematical notation
and \APLcircleslope\APLA\ corresponds
to $A^{T}$.

displays as:

corresponds to A-1 in mathematical notation and corresponds to AT.